<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>数据类型_布尔型/undefined/null</title>
</head>
<body>
<h4>布尔类型</h4>
<p>
表示 肯定或否定 时在计算机中对应的是, 布尔类型数据。 <br>
它有两个固定的值 true 和 false，表示肯定的数据用 true（真），表示否定的数据用 false（假)  <br>
</p>
<hr>

<h4>未定义类型</h4>
<p>
未定义是比较特殊的类型，只有一个值 undefined
</p>
<p>
什么情况出现未定义类型？  <br>
只声明变量，不赋值的情况下，变量的默认值为 undefined，一般很少【直接】为某个变量赋值为 undefined。 <br>
</p>
<p>
工作中的使用场景： <br>
我们开发中经常声明一个变量，等待传送过来的数据。 <br>
如果我们不知道这个数据是否传递过来，此时我们可以通过检测这个变量是不是undefined，就判断用户是否有数据传递过来
</p>
<hr>

<h4>null（空类型）</h4>
<p>
JavaScript 中的 null 仅仅是一个代表“无”、“空”或“值未知”的特殊值
</p>
<p>
null 和 undefined 区别： <br>
undefined 表示没有赋值 <br>
null 表示赋值了，但是内容为空
</p>
<p>
null 开发中的使用场景：  <br>
官方解释：把 null 作为尚未创建的对象 <br>
大白话： 将来有个变量里面存放的是一个对象，但是对象还没创建好，可以先给个null
</p>
<hr>

<script>
    // 1. true  false 是布尔型字面量
    console.log(3 > 4) // 浏览器 控制台看信息

    let 值 = true
    console.log(值)

    // 2. 未定义类型   声明一个变量未赋值就是 undefined
    let num
    let num1 = undefined
    console.log(num)  // 浏览器 控制台看信息
    console.log(num1)

    // 3. null 空的
    let obj = null
    console.log(obj)

    // null 和 undefined 区别, 计算有区别
    console.log(undefined + 1)  // 输出值 NaN
    console.log(null + 1) // 输出值 1
</script>
</body>
</html>